home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / dev / c / GAPLib.lha / GAPLib / gaplib / Crossover.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-07-04  |  459 b   |  9 lines

  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include "GAPLocal.h"
  5. void Crossover (void *,void *,const long int At,const long int y2M);void Crossover(void *I1,void *I2,const long int At,const long int y2M)
  6. {char *f7V,*u8A;int i,n,t;unsigned char y2Y;n = (At>>3);f7V = (char *)I1;u8A = (char *)I2;
  7. for(i=n+1;i<y2M;i++) {t = f7V[i];f7V[i] = u8A[i];u8A[i] = t;}y2Y = 0xff>>(At&7);
  8. i = f7V[n];t = u8A[n];f7V[n] &= ~y2Y;f7V[n] |= t&y2Y;u8A[n] &= ~y2Y;u8A[n] |= i&y2Y;
  9. }